# 文件编码：将内容翻译成二进制，并将二进制翻译回可识别的内容
# 一般通用UTF-8的编码格式
# 文件包括文本文件，视频文件，音频文件，图像文件等

import time

# open(name,mode,encoding)
# name为要打开的目标文件名的字符串
# mode设置打开文件的模式：只读r，写入w，追加a等
# encoding为编码格式
f = open("D:/STUDY/python/文件/test-1.txt", "r", encoding="UTF-8")
print(type(f))

# 读取操作read()
# 第二次调用会从第一次阅读后的位置开始
f.read(10)
print(f"读取十个字节：{f.read(10)}")
print(f"读取全部内容：{f.read()}")

# 读取操作readlines()
# 读取文件的全部行，封装到列表中
lines = f.readlines()
print(type(lines))
print(f"lines对象的内容为{lines}")

# 读取操作readline()
# 读取文件的一行，封装到字符串中
line1 = f.readline()
line2 = f.readline()
print(type(line1))
print(f"line1对象的内容是:{line1}")
print(f"line2对象的内容是:{line2}")

# 循环读取文件内容
for line in f:
    print(f"每一行的数据是：{line}")

# 文件的关闭
# close
time.sleep(50000)
f.close()  # 如果不进行close关闭文件，就会一直占用文件

# 语句块执行完毕后自动完成文件的关闭with open
with open("D:/STUDY/python/文件/test-1.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(f"每一行的数据是：{line}")
